1. Field of the Invention
This invention generally relates to methods and systems for updating control or configuration data in a persistent storage.
2. Prior Art
Many computer systems, such as many main frame computer systems, use direct access storage devices (DASD) to store data. Indeed, because of the vast amount of data stored in these systems, many of these computer systems include a controller, separate from the main, or host, computer, to manage the DASD. These controllers, which themselves may include one or more processing units, act in response to commands or instructions from the host computer to control and configure the DASD and the data stored thereon. The information describing the status of the DASD is referred to as global status (GS) information, and this information may change over time, for example in response to commands or instructions from the host computer. It is important that this global status information be maintained across various error conditions, including the loss of power.
The Global Status information is organized by Logical Subsystem (LSS), with a separate Global Status area for each LSS. Each Global Status area contains all the information for the LSS. Some of this data is related to the state of the each device, some is related to the Copy Services (CS) sessions that exist in the LSS, etc.
There is a copy of this entire structure maintained in local storage. Whenever any of this information changes, it must be updated in some nonvolatile location. In current implementations, this may be accomplished by updating the local copy in memory and then writing the entire structure for the LSS to DASD. The operation that initiated the status change is not considered to be complete until this write is complete. Since writing to DASD requires a long time, this method causes long delays in the completion of operations which require a GS update. When there are many updates for different devices in the same LSS, each one writes the same Global Status structure and the operations are unnecessarily serialized, causing even longer delays in their completion. For example, if 100 FlashCopy establishes are done on 100 volumes in the same LSS, the same global status track will be written 100 times.